Business application vendors deliver business applications that implement a number of business processes. The users or consumers of those applications adapt the business processes using a multitude of vastly different customization activities, such as changing technical configuration settings, adding fields to existing configuration databases tables, programming custom code, adding the code to the shipped code base and the like. In addition, application vendors typically document the corresponding business processes using formal or semi formal graphical process notations, such as event-driven process chains, BPMN-based process diagrams and the like. The process models abstract from technical details and solely serve documentation purposes that help the application customers to understand the contained business processes.
In many cases, business applications customers require modifications and additions to the existing functionality. Such additions require a technical expert experienced in the specific application or in a specific module to which the extension is to be added. Further, known methods of extending computerized process suffer various disadvantages. For example, they require a high level of expertise for the specific process and for the specific extension; such expertise is not always accessible at the user or consumer's end. The above-mentioned configuration is not related to existing documentation of the process and does not cope with the current process model. Lastly, the methods above are inconsistent, as there is more than one way to customize a business application or process.